# {{ ansible_managed }}

[ovs]
{% if neutron_tunnel_types | length > 0 %}
local_ip = {{ neutron_local_ip }}
{% endif %}
{% if neutron_plugin_type != 'ml2.ovs' and neutron_provider_networks.network_mappings is defined and ((neutron_provider_networks.network_mappings | length) > 0) %}
bridge_mappings = {{ neutron_provider_networks.network_mappings }}
{% endif %}
{% if neutron_services['neutron-openvswitch-agent']['group'] in group_names and neutron_plugin_type == 'ml2.ovs' and neutron_provider_networks.network_mappings is defined and ((neutron_provider_networks.network_mappings | length) > 0) %}
bridge_mappings = {{ neutron_provider_networks.network_mappings }}
{% endif %}
{% if ovs_dpdk_support %}
datapath_type = {{ ovs_datapath }}
vhostuser_socket_dir = /var/lib/vhost_socket
{% endif %}

[agent]
l2_population = {{ neutron_plugins[neutron_plugin_type].l2_population }}
tunnel_types = {{ neutron_tunnel_types }}
enable_distributed_routing = {{ neutron_plugins[neutron_plugin_type].router_distributed | default('False') }}
{% set ovs_agent_extensions = []                                            %}
{% if 'qos' in neutron_plugin_base                                          %}
{% set _ = ovs_agent_extensions.append("qos")                               %}
{% endif                                                                    %}
{% if 'sfc' in neutron_plugin_base %}
{% set _ = ovs_agent_extensions.append("sfc")                               %}
{% endif                                                                    %}
extensions = {{ ovs_agent_extensions | join(',') }}

# Security groups
[securitygroup]
{% if ovs_dpdk_support %}
firewall_driver = openvswitch
{% else %}
firewall_driver = {{ neutron_plugins[neutron_plugin_type].driver_firewall }}
{% endif %}
enable_security_group = True
enable_ipset = True
